This invention relates generally to data storage by applications executing on electronic computing systems and, more specifically, relates to remote data storage by applications.
This section is intended to provide a background or context to the invention disclosed below. The description herein may include concepts that could be pursued, but are not necessarily ones that have been previously conceived, implemented or described. Therefore, unless otherwise explicitly indicated herein, what is described in this section is not prior art to the description in this application and is not admitted to be prior art by inclusion in this section. Acronyms that appear in the text or drawings are defined below, prior to the claims.
Many applications rely on data that is stored remotely, that is, stored off the computing device on which the application resides. In fact, dozens of network-based storage service providers have appeared that can offer large amounts of network-based storage fairly inexpensively. They offer high availability and have had little or no downtime in their service thus far. Examples include Apple's iCloud, Amazon S3, Google Drive, Microsoft Skydrive, Dropbox.com, Box.net, and a raft of other providers that have transformed network storage into a commodity. These storage services are attractive for an application developer primarily because of cost. The developer does not need to manage a private storage infrastructure and can pay only for storage consumed rather than peak provisioning. These benefits are not just recognized by developers, as enterprises are now outsourcing many traditional IT services to cloud-based providers as well. This trend is likely to continue, but enterprises will have more thoughtful policies as to what and how certain enterprise data can be stored on an external storage provider.
While there are many benefits to using cloud storage services, there are many complexities.